package com.gxa.customer.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gxa.common.pojo.ClientInfo;
import com.gxa.common.pojo.Country;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface ClientListBaseInformationMapper extends BaseMapper<ClientInfo>{
    List<Map<String,Object>> findAllClientBaseInformationByPage(@Param("start") Integer start,@Param("size") Integer size);
    //删除客户基本信息
    int deleteClientBaseInformation(Long clientInfoId);
    //根据关键字（编号/名称/拼音/护照号）分页搜索客户信息
    List<Map<String,Object>> findClientBaseInformationByKeyWordPage(@Param("start") Integer start,@Param("size") Integer size,@Param("keyWord") String keyWord);
    //根据关键字（编号/名称/拼音/护照号）分页搜索客户信息的总数量
    int totalCountByKeyWord(String keyWord);
    //查询所有国家
    List<Map<String,Object>> findAllCountry();
    //客户名下添加国家（复选框）
    int addCountryToClient(@Param("clientInfoId") Long clientInfoId,@Param("countryIdList") List<Long> countryIdList);
    //根据客户编号查询是否存在对应的客户信息
    List<Map<String,Object>> findByClientNumber(String clientNumber);
    //客户创建房产时房产数量加一
    int addPropertiesToClient(Long clientInfoId);
    //根据客户id查询客户添加的所有国家
    List<Country> findCountryByClientId(Long clientInfoId);

}
